home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / Components.p < prev    next >
Encoding:
Text File  |  1997-08-12  |  18.0 KB  |  477 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Components.p
  3.  
  4.      Contains:    Component Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0.1
  8.  
  9.      Copyright:    © 1991-1997 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT Components;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __COMPONENTS__}
  28. {$SETC __COMPONENTS__ := 1}
  29.  
  30. {$I+}
  31. {$SETC ComponentsIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __ERRORS__}
  35. {$I Errors.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __TYPES__}
  38. {$I Types.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __MIXEDMODE__}
  41. {$I MixedMode.p}
  42. {$ENDC}
  43.  
  44.  
  45. {$PUSH}
  46. {$ALIGN MAC68K}
  47. {$LibExport+}
  48.  
  49.  
  50. CONST
  51.     kAppleManufacturer            = 'appl';                        {  Apple supplied components  }
  52.     kComponentResourceType        = 'thng';                        {  a components resource type  }
  53.  
  54.     kAnyComponentType            = 0;
  55.     kAnyComponentSubType        = 0;
  56.     kAnyComponentManufacturer    = 0;
  57.     kAnyComponentFlagsMask        = 0;
  58.  
  59.     cmpWantsRegisterMessage        = $80000000;
  60.  
  61.     kComponentOpenSelect        = -1;                            {  ComponentInstance for this open  }
  62.     kComponentCloseSelect        = -2;                            {  ComponentInstance for this close  }
  63.     kComponentCanDoSelect        = -3;                            {  selector # being queried  }
  64.     kComponentVersionSelect        = -4;                            {  no params  }
  65.     kComponentRegisterSelect    = -5;                            {  no params  }
  66.     kComponentTargetSelect        = -6;                            {  ComponentInstance for top of call chain  }
  67.     kComponentUnregisterSelect    = -7;                            {  no params  }
  68.     kComponentGetMPWorkFunctionSelect = -8;                        {  some params  }
  69.  
  70. { Component Resource Extension flags }
  71.     componentDoAutoVersion        = $01;
  72.     componentWantsUnregister    = $02;
  73.     componentAutoVersionIncludeFlags = $04;
  74.     componentHasMultiplePlatforms = $08;
  75.  
  76.  
  77.  
  78. { Set Default Component flags }
  79.     defaultComponentIdentical    = 0;
  80.     defaultComponentAnyFlags    = 1;
  81.     defaultComponentAnyManufacturer = 2;
  82.     defaultComponentAnySubType    = 4;
  83.     defaultComponentAnyFlagsAnyManufacturer = 3;
  84.     defaultComponentAnyFlagsAnyManufacturerAnySubType = 7;
  85.  
  86. { RegisterComponentResource flags }
  87.     registerComponentGlobal        = 1;
  88.     registerComponentNoDuplicates = 2;
  89.     registerComponentAfterExisting = 4;
  90.  
  91.  
  92.  
  93. TYPE
  94.     ComponentDescriptionPtr = ^ComponentDescription;
  95.     ComponentDescription = RECORD
  96.         componentType:            OSType;                                    {  A unique 4-byte code indentifying the command set  }
  97.         componentSubType:        OSType;                                    {  Particular flavor of this instance  }
  98.         componentManufacturer:    OSType;                                    {  Vendor indentification  }
  99.         componentFlags:            LONGINT;                                {  8 each for Component,Type,SubType,Manuf/revision  }
  100.         componentFlagsMask:        LONGINT;                                {  Mask for specifying which flags to consider in search, zero during registration  }
  101.     END;
  102.  
  103.  
  104.     ResourceSpecPtr = ^ResourceSpec;
  105.     ResourceSpec = RECORD
  106.         resType:                OSType;                                    {  4-byte code   }
  107.         resID:                    INTEGER;                                {                }
  108.     END;
  109.  
  110.     ComponentResourcePtr = ^ComponentResource;
  111.     ComponentResource = RECORD
  112.         cd:                        ComponentDescription;                    {  Registration parameters  }
  113.         component:                ResourceSpec;                            {  resource where Component code is found  }
  114.         componentName:            ResourceSpec;                            {  name string resource  }
  115.         componentInfo:            ResourceSpec;                            {  info string resource  }
  116.         componentIcon:            ResourceSpec;                            {  icon resource  }
  117.     END;
  118.  
  119.     ComponentResourceHandle                = ^ComponentResourcePtr;
  120.     ComponentPlatformInfoPtr = ^ComponentPlatformInfo;
  121.     ComponentPlatformInfo = RECORD
  122.         componentFlags:            LONGINT;                                {  flags of Component  }
  123.         component:                ResourceSpec;                            {  resource where Component code is found  }
  124.         platformType:            INTEGER;                                {  gestaltSysArchitecture result  }
  125.     END;
  126.  
  127.     ComponentResourceExtensionPtr = ^ComponentResourceExtension;
  128.     ComponentResourceExtension = RECORD
  129.         componentVersion:        LONGINT;                                {  version of Component  }
  130.         componentRegisterFlags:    LONGINT;                                {  flags for registration  }
  131.         componentIconFamily:    INTEGER;                                {  resource id of Icon Family  }
  132.     END;
  133.  
  134.     ComponentPlatformInfoArrayPtr = ^ComponentPlatformInfoArray;
  135.     ComponentPlatformInfoArray = RECORD
  136.         count:                    LONGINT;
  137.         platformArray:            ARRAY [0..0] OF ComponentPlatformInfo;
  138.     END;
  139.  
  140.     ExtComponentResourcePtr = ^ExtComponentResource;
  141.     ExtComponentResource = RECORD
  142.         cd:                        ComponentDescription;                    {  registration parameters  }
  143.         component:                ResourceSpec;                            {  resource where Component code is found  }
  144.         componentName:            ResourceSpec;                            {  name string resource  }
  145.         componentInfo:            ResourceSpec;                            {  info string resource  }
  146.         componentIcon:            ResourceSpec;                            {  icon resource  }
  147.         componentVersion:        LONGINT;                                {  version of Component  }
  148.         componentRegisterFlags:    LONGINT;                                {  flags for registration  }
  149.         componentIconFamily:    INTEGER;                                {  resource id of Icon Family  }
  150.         count:                    LONGINT;                                {  elements in platformArray  }
  151.         platformArray:            ARRAY [0..0] OF ComponentPlatformInfo;
  152.     END;
  153.  
  154. {  Structure received by Component:        }
  155.     ComponentParametersPtr = ^ComponentParameters;
  156.     ComponentParameters = PACKED RECORD
  157.         flags:                    UInt8;                                    {  call modifiers: sync/async, deferred, immed, etc  }
  158.         paramSize:                UInt8;                                    {  size in bytes of actual parameters passed to this call  }
  159.         what:                    INTEGER;                                {  routine selector, negative for Component management calls  }
  160.         params:                    ARRAY [0..0] OF LONGINT;                {  actual parameters for the indicated routine  }
  161.     END;
  162.  
  163.     ComponentRecordPtr = ^ComponentRecord;
  164.     ComponentRecord = RECORD
  165.         data:                    ARRAY [0..0] OF LONGINT;
  166.     END;
  167.  
  168.     Component                            = ^ComponentRecord;
  169.     ComponentInstanceRecordPtr = ^ComponentInstanceRecord;
  170.     ComponentInstanceRecord = RECORD
  171.         data:                    ARRAY [0..0] OF LONGINT;
  172.     END;
  173.  
  174.     ComponentInstance                    = ^ComponentInstanceRecord;
  175.     RegisteredComponentRecordPtr = ^RegisteredComponentRecord;
  176.     RegisteredComponentRecord = RECORD
  177.         data:                    ARRAY [0..0] OF LONGINT;
  178.     END;
  179.  
  180.     RegisteredComponentInstanceRecordPtr = ^RegisteredComponentInstanceRecord;
  181.     RegisteredComponentInstanceRecord = RECORD
  182.         data:                    ARRAY [0..0] OF LONGINT;
  183.     END;
  184.  
  185.     ComponentResult                        = LONGINT;
  186.  
  187. CONST
  188.     mpWorkFlagDoWork            = $01;
  189.     mpWorkFlagDoCompletion        = $02;
  190.     mpWorkFlagCopyWorkBlock        = $04;
  191.     mpWorkFlagDontBlock            = $08;
  192.     mpWorkFlagGetProcessorCount    = $10;
  193.     mpWorkFlagGetIsRunning        = $40;
  194.  
  195.  
  196. TYPE
  197.     ComponentMPWorkFunctionHeaderRecordPtr = ^ComponentMPWorkFunctionHeaderRecord;
  198.     ComponentMPWorkFunctionHeaderRecord = RECORD
  199.         headerSize:                UInt32;
  200.         recordSize:                UInt32;
  201.         workFlags:                UInt32;
  202.         processorCount:            UInt16;
  203.         unused:                    SInt8;
  204.         isRunning:                SInt8;
  205.     END;
  206.  
  207.     ComponentMPWorkFunctionProcPtr = ProcPtr;  { FUNCTION ComponentMPWorkFunction(globalRefCon: UNIV Ptr; header: ComponentMPWorkFunctionHeaderRecordPtr): ComponentResult; }
  208.  
  209.     ComponentRoutineProcPtr = ProcPtr;  { FUNCTION ComponentRoutine(VAR cp: ComponentParameters; componentStorage: Handle): ComponentResult; }
  210.  
  211.     ComponentMPWorkFunctionUPP = UniversalProcPtr;
  212.     ComponentRoutineUPP = UniversalProcPtr;
  213. {
  214.     The parameter list for each ComponentFunction is unique. It is
  215.     therefore up to users to create the appropriate procInfo for their
  216.     own ComponentFunctions where necessary.
  217. }
  218.     ComponentFunctionUPP                = UniversalProcPtr;
  219.  
  220. {*******************************************************
  221. *                                                        *
  222. *                  APPLICATION LEVEL CALLS                    *
  223. *                                                        *
  224. *******************************************************}
  225. {*******************************************************
  226. * Component Database Add, Delete, and Query Routines
  227. *******************************************************}
  228. FUNCTION RegisterComponent(VAR cd: ComponentDescription; componentEntryPoint: ComponentRoutineUPP; global: INTEGER; componentName: Handle; componentInfo: Handle; componentIcon: Handle): Component;
  229.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  230.     INLINE $7001, $A82A;
  231.     {$ENDC}
  232. FUNCTION RegisterComponentResource(cr: ComponentResourceHandle; global: INTEGER): Component;
  233.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  234.     INLINE $7012, $A82A;
  235.     {$ENDC}
  236. FUNCTION UnregisterComponent(aComponent: Component): OSErr;
  237.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  238.     INLINE $7002, $A82A;
  239.     {$ENDC}
  240. FUNCTION FindNextComponent(aComponent: Component; VAR looking: ComponentDescription): Component;
  241.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  242.     INLINE $7004, $A82A;
  243.     {$ENDC}
  244. FUNCTION CountComponents(VAR looking: ComponentDescription): LONGINT;
  245.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  246.     INLINE $7003, $A82A;
  247.     {$ENDC}
  248. FUNCTION GetComponentInfo(aComponent: Component; VAR cd: ComponentDescription; componentName: Handle; componentInfo: Handle; componentIcon: Handle): OSErr;
  249.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  250.     INLINE $7005, $A82A;
  251.     {$ENDC}
  252. FUNCTION GetComponentListModSeed: LONGINT;
  253.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  254.     INLINE $7006, $A82A;
  255.     {$ENDC}
  256. FUNCTION GetComponentTypeModSeed(componentType: OSType): LONGINT;
  257.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  258.     INLINE $702C, $A82A;
  259.     {$ENDC}
  260. {*******************************************************
  261. * Component Instance Allocation and dispatch routines
  262. *******************************************************}
  263. FUNCTION OpenAComponent(aComponent: Component; VAR ci: ComponentInstance): OSErr;
  264.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  265.     INLINE $702D, $A82A;
  266.     {$ENDC}
  267. FUNCTION OpenComponent(aComponent: Component): ComponentInstance;
  268.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  269.     INLINE $7007, $A82A;
  270.     {$ENDC}
  271. FUNCTION CloseComponent(aComponentInstance: ComponentInstance): OSErr;
  272.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  273.     INLINE $7008, $A82A;
  274.     {$ENDC}
  275. FUNCTION GetComponentInstanceError(aComponentInstance: ComponentInstance): OSErr;
  276.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  277.     INLINE $700A, $A82A;
  278.     {$ENDC}
  279. {*******************************************************
  280. *                                                        *
  281. *                      CALLS MADE BY COMPONENTS              *
  282. *                                                        *
  283. *******************************************************}
  284. {*******************************************************
  285. * Component Management routines
  286. *******************************************************}
  287. PROCEDURE SetComponentInstanceError(aComponentInstance: ComponentInstance; theError: OSErr);
  288.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  289.     INLINE $700B, $A82A;
  290.     {$ENDC}
  291. FUNCTION GetComponentRefcon(aComponent: Component): LONGINT;
  292.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  293.     INLINE $7010, $A82A;
  294.     {$ENDC}
  295. PROCEDURE SetComponentRefcon(aComponent: Component; theRefcon: LONGINT);
  296.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  297.     INLINE $7011, $A82A;
  298.     {$ENDC}
  299. FUNCTION OpenComponentResFile(aComponent: Component): INTEGER;
  300.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  301.     INLINE $7015, $A82A;
  302.     {$ENDC}
  303. FUNCTION OpenAComponentResFile(aComponent: Component; VAR resRef: INTEGER): OSErr;
  304.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  305.     INLINE $702F, $A82A;
  306.     {$ENDC}
  307. FUNCTION CloseComponentResFile(refnum: INTEGER): OSErr;
  308.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  309.     INLINE $7018, $A82A;
  310.     {$ENDC}
  311. {*******************************************************
  312. * Component Instance Management routines
  313. *******************************************************}
  314. FUNCTION GetComponentInstanceStorage(aComponentInstance: ComponentInstance): Handle;
  315.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  316.     INLINE $700C, $A82A;
  317.     {$ENDC}
  318. PROCEDURE SetComponentInstanceStorage(aComponentInstance: ComponentInstance; theStorage: Handle);
  319.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  320.     INLINE $700D, $A82A;
  321.     {$ENDC}
  322. FUNCTION GetComponentInstanceA5(aComponentInstance: ComponentInstance): LONGINT;
  323.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  324.     INLINE $700E, $A82A;
  325.     {$ENDC}
  326. PROCEDURE SetComponentInstanceA5(aComponentInstance: ComponentInstance; theA5: LONGINT);
  327.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  328.     INLINE $700F, $A82A;
  329.     {$ENDC}
  330. FUNCTION CountComponentInstances(aComponent: Component): LONGINT;
  331.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  332.     INLINE $7013, $A82A;
  333.     {$ENDC}
  334. { useful helper routines for convenient method dispatching }
  335. FUNCTION CallComponentFunction(VAR params: ComponentParameters; func: ComponentFunctionUPP): LONGINT;
  336.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  337.     INLINE $70FF, $A82A;
  338.     {$ENDC}
  339. FUNCTION CallComponentFunctionWithStorage(storage: Handle; VAR params: ComponentParameters; func: ComponentFunctionUPP): LONGINT;
  340.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  341.     INLINE $70FF, $A82A;
  342.     {$ENDC}
  343. {$IFC TARGET_CPU_PPC }
  344. FUNCTION CallComponentFunctionWithStorageProcInfo(storage: Handle; VAR params: ComponentParameters; func: ProcPtr; funcProcInfo: LONGINT): LONGINT;
  345. {$ELSEC}
  346. {$ENDC}  {TARGET_CPU_PPC}
  347.  
  348. FUNCTION DelegateComponentCall(VAR originalParams: ComponentParameters; ci: ComponentInstance): LONGINT;
  349.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  350.     INLINE $7024, $A82A;
  351.     {$ENDC}
  352. FUNCTION SetDefaultComponent(aComponent: Component; flags: INTEGER): OSErr;
  353.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  354.     INLINE $701E, $A82A;
  355.     {$ENDC}
  356. FUNCTION OpenDefaultComponent(componentType: OSType; componentSubType: OSType): ComponentInstance;
  357.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  358.     INLINE $7021, $A82A;
  359.     {$ENDC}
  360. FUNCTION OpenADefaultComponent(componentType: OSType; componentSubType: OSType; VAR ci: ComponentInstance): OSErr;
  361.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  362.     INLINE $702E, $A82A;
  363.     {$ENDC}
  364. FUNCTION CaptureComponent(capturedComponent: Component; capturingComponent: Component): Component;
  365.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  366.     INLINE $701C, $A82A;
  367.     {$ENDC}
  368. FUNCTION UncaptureComponent(aComponent: Component): OSErr;
  369.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  370.     INLINE $701D, $A82A;
  371.     {$ENDC}
  372. FUNCTION RegisterComponentResourceFile(resRefNum: INTEGER; global: INTEGER): LONGINT;
  373.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  374.     INLINE $7014, $A82A;
  375.     {$ENDC}
  376. FUNCTION GetComponentIconSuite(aComponent: Component; VAR iconSuite: Handle): OSErr;
  377.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  378.     INLINE $7029, $A82A;
  379.     {$ENDC}
  380.  
  381. {*******************************************************
  382. *                                                        *
  383. *              Direct calls to the Components                *
  384. *                                                        *
  385. *******************************************************}
  386. {  Old style names }
  387.  
  388. FUNCTION ComponentFunctionImplemented(ci: ComponentInstance; ftnNumber: INTEGER): LONGINT;
  389.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  390.     INLINE $2F3C, $0002, $FFFD, $7000, $A82A;
  391.     {$ENDC}
  392. FUNCTION GetComponentVersion(ci: ComponentInstance): LONGINT;
  393.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  394.     INLINE $2F3C, $0000, $FFFC, $7000, $A82A;
  395.     {$ENDC}
  396. FUNCTION ComponentSetTarget(ci: ComponentInstance; target: ComponentInstance): LONGINT;
  397.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  398.     INLINE $2F3C, $0004, $FFFA, $7000, $A82A;
  399.     {$ENDC}
  400. {  New style names }
  401.  
  402. FUNCTION CallComponentOpen(ci: ComponentInstance; self: ComponentInstance): ComponentResult;
  403.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  404.     INLINE $2F3C, $0004, $FFFF, $7000, $A82A;
  405.     {$ENDC}
  406. FUNCTION CallComponentClose(ci: ComponentInstance; self: ComponentInstance): ComponentResult;
  407.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  408.     INLINE $2F3C, $0004, $FFFE, $7000, $A82A;
  409.     {$ENDC}
  410. FUNCTION CallComponentCanDo(ci: ComponentInstance; ftnNumber: INTEGER): ComponentResult;
  411.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  412.     INLINE $2F3C, $0002, $FFFD, $7000, $A82A;
  413.     {$ENDC}
  414. FUNCTION CallComponentVersion(ci: ComponentInstance): ComponentResult;
  415.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  416.     INLINE $2F3C, $0000, $FFFC, $7000, $A82A;
  417.     {$ENDC}
  418. FUNCTION CallComponentRegister(ci: ComponentInstance): ComponentResult;
  419.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  420.     INLINE $2F3C, $0000, $FFFB, $7000, $A82A;
  421.     {$ENDC}
  422. FUNCTION CallComponentTarget(ci: ComponentInstance; target: ComponentInstance): ComponentResult;
  423.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  424.     INLINE $2F3C, $0004, $FFFA, $7000, $A82A;
  425.     {$ENDC}
  426. FUNCTION CallComponentUnregister(ci: ComponentInstance): ComponentResult;
  427.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  428.     INLINE $2F3C, $0000, $FFF9, $7000, $A82A;
  429.     {$ENDC}
  430. FUNCTION CallComponentGetMPWorkFunction(ci: ComponentInstance; VAR workFunction: ComponentMPWorkFunctionUPP; VAR refCon: UNIV Ptr): ComponentResult;
  431.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  432.     INLINE $2F3C, $0008, $FFF8, $7000, $A82A;
  433.     {$ENDC}
  434.  
  435. { UPP call backs }
  436.  
  437. CONST
  438.     uppComponentMPWorkFunctionProcInfo = $000003F0;
  439.     uppComponentRoutineProcInfo = $000003F0;
  440.  
  441. FUNCTION NewComponentMPWorkFunctionProc(userRoutine: ComponentMPWorkFunctionProcPtr): ComponentMPWorkFunctionUPP;
  442.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  443.     INLINE $2E9F;
  444.     {$ENDC}
  445.  
  446. FUNCTION NewComponentRoutineProc(userRoutine: ComponentRoutineProcPtr): ComponentRoutineUPP;
  447.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  448.     INLINE $2E9F;
  449.     {$ENDC}
  450.  
  451. FUNCTION CallComponentMPWorkFunctionProc(globalRefCon: UNIV Ptr; header: ComponentMPWorkFunctionHeaderRecordPtr; userRoutine: ComponentMPWorkFunctionUPP): ComponentResult;
  452.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  453.     INLINE $205F, $4E90;
  454.     {$ENDC}
  455.  
  456. FUNCTION CallComponentRoutineProc(VAR cp: ComponentParameters; componentStorage: Handle; userRoutine: ComponentRoutineUPP): ComponentResult;
  457.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  458.     INLINE $205F, $4E90;
  459.     {$ENDC}
  460. { ProcInfos }
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467. {$ALIGN RESET}
  468. {$POP}
  469.  
  470. {$SETC UsingIncludes := ComponentsIncludes}
  471.  
  472. {$ENDC} {__COMPONENTS__}
  473.  
  474. {$IFC NOT UsingIncludes}
  475.  END.
  476. {$ENDC}
  477.